perm filename WILD.REF[UP,DOC]10 blob sn#407130 filedate 1979-01-01 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00006 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002		WILD is a program for doing wild-card directory
C00005 00003	SWITCHES.
C00010 00004	Special features:
C00012 00005	Examples:
C00024 00006	Complaints, compliments, and suggestions → REF.
C00025 ENDMK
C⊗;
	WILD is a program for doing wild-card directory
searches.  Basically, WILD differs from DIR in that the character ? is
interpreted as "match any character".  Several switches have also
been implemented to provide greater searching ability.

	WILD accepts commands of the following syntax; items in {} are
optional. ⊗ represents the Kleene star (0 or more repetitions).

<command> ::= {<output term>←}{<file term>}⊗

<output term> ::= <output device> | <file>

<file term> ::= <file>{<switch>}⊗

<output device> ::= LPT: | TTY: | (whatever the system will accept)

<file> ::= {<device>:}{<name>}{.<extension>}{[<project>{,<programmer>{ ]}}}

<switch> ::= /<vswitch name><delimiter><switch value> | /<mswitch name> |
	     /<pswtich name>↔<switch value>


	In interpreting file names, the default <device> is "DSK", the
default <project> and <programmer> are your alias PPN, and the default
<name> and <extension> are "*".  Downarrows ("↓") may be used as quoting
characters in file names.  Thus, REF's message file is both ↓   REF↓.msg[2,2] and
↓   ↓REF.msg[2,2] (but not ↓    REF.MSG↓[2,2]!)(∂REF will also work; see page 4.)

	For each <file term>, WILD does a directory/full for those files
that match that <file term>, under control of the <switch>'s.  <ESCAPE I>
will often pleasantly abort output.  The current switches are described
on the next page.

	In checking for "file matching", the character "?" is presumed to
match any character.  A "*" subsumes its usual (match any) interpretation.
It can also be thought adding "??????" to the current match string.  Thus,
FOO* will match FOO, FOOB, FOOBA, and FOOBAZ.  A null <file term> is
interpretted as *.*, except that typing a blank (or almost blank) line to
WILD is ignored.
SWITCHES.

The following switches have been implemented.  The characters in
capitals are the portion of the switch actually looked at by WILD.
Thus, TYpe can be abbreviated to TY; WritTen can be abbreviated
(so to speak) to wxyztjfgkhdhjfhgg.

<MSWITCH NAMES>  These switches require just the switch name.

QuiCk		Output only the PPN's matching the request, not the names
		of the individual files.
QC		Same as QuiCk
Fast		Output the file names in "short" form.	In short form,
		this file is "WILD.REF[UP,DOC]".
Quiet		Don't ask me if I'm sure about anything.
Ask		Go ahead, ask me all the time.
Type		Type this file.
Octal		Type this file in octal (dump mode).
DElete		Delete this file.
Space		Print the space required of these directories (quick+ a total).
EXact		Print all file sizes in words (2048 rather than 2.0).
FOrmfeed	Print a formfeed before the second and subsequent file names
		in FAST mode.  This is useful for taking a group of files
		and copying them into another file, each to a separate page, with
		the first line of the page containing the origin file's name.
		FORMFEED implies both FAST and TYPE.
Etype		Type, omitting E directory pages.

These switches can be "negated" by preceeding the switch name with a "-" or a "¬".
Thus, /-ex turns off "exact" mode.

<VSWITCH NAME>	These switches are for matching the characteristics of the
file with other features of the directory.  They take a <DELIMITER>,
which can be one of <,=,>,≤,≠,≥, with the obvious meanings.  The vswitches
are:

Date		When the file was written.  Takes a <DATE>
WritTen		Just like date.  Takes a <DATE>
SIze		How big is the file?  Takes a <SIZE>.
TIme		What time was the file written.  Takes a <TIME>.
Protection	The file's protection.	Takes a <PRO>.
Referenced	When the file was last referenced.  Takes a <DATE>.
Dumped		When the file was last dumped to DART.	Takes a <DATE>.
Writer		Who wrote the file.  Up to six characters.  ? and * have their
		usual meaning.
Using		What program wrote the file.  Up to six characters.  ? and *
		have their usual meaning.

<PSWITCH>  The specific form:
Protection↔<PRO>
will change the protection of all matching files to <PRO>

<DATE> ::=	any sequence of <DAY> <MONTH> or <YEAR>, separated by "-" or " "|
		YESTERDAY | TODAY
<DAY>  ::=	an integer between 1 and 31
<YEAR> ::=	an integer greater than 64
<MONTH>::=	JAN | FEB | MAR | APR ...
		Only enough of the keywords in a DATE need to be typed
		to make that construct unique.  The day will default to the
		first of the month, the month and year to the current month and 
		year.  If you give it a day in the future, it program will
		make a guess as to what you want.

<SIZE>  ::=	integer | real
		A "real" size is interpretted as 1024 (1K) * that size in words.

<PRO>   ::=	three octal digits.

Special features:

As a special feature (this week only?), typing <ALTMODE> to
the top level of WILD (the # prompt) returns the last command
line you typed to your input buffer.  Thus, you can type Y and N
to all the questions in various sections of the program, and
still retrieve your last input.

Certain yes/no questions can be answered "Q", which means "Yes, and yes
to all subsequent questions".  Answering <number>Y or <number>N implies
that many Y's or N's are to be automatically loaded into your response
buffer (so to speak).  Returning to command level, or typing <escape>I
resets the command buffer to empty.

Typing αβE (control-meta E) will result in exiting the from program.
(αE and βE also work).

The character ∂ will often work to get message files.  Thus, "∂" will
get your own message file, "∂foo", foo's message file,
"∂???", everyone's message file, and "∂mum[1,baz]" the file "   mum.msg[1,baz]".
A construction like "mumble.∂" will get whatever the program feels like giving you.
Unfortunatly ∂ and * cannot be profitably combined.  This may get fixed.
Examples:

Since the previous is certainly very obtuse, perhaps a few examples
would be helpful.  Stuff in horseshoes ⊂ ⊃ are comments.
--------------------------------------------------------------------------------
.r wild;????75.fnt[xgp,sys]  	⊂ Monitor mode start up.  Find all six character
				  file name, 75 high fonts on [xgp,sys] ⊃

22-FEB-78  1418
FILNAM EXT   PPN    SIZE  WRITTEN  TIME PRO    WRITER     REFERENCE      DUMPED    

BUCK75 FNT XGPSYS    5.7 17-OCT-73 1024 000 ACTREG COPY   21-FEB-78  5-JUL-75 P529>

       TOTAL=    5.7

*????65.fnt[xgp,sys]
No files found.
*↑C
↑C
--------------------------------------------------------------------------------

.r wild
Welcome to WILD.  Documentation on WILD.REF[UP,DOC]
#ng????.fnt[xgp,*] ⊂ Find all the neo-gothic fonts on anyone's area.  Note
                     that this command is equivalent to ng*.fnt[xgp,???] ⊃

27-FEB-78  2342
FILNAM EXT   PPN    SIZE  WRITTEN  TIME PRO    WRITER     REFERENCE      DUMPED    

NGB25  FNT XGPSYS    1.5 27-FEB-78 0726 000   1DON COMBIN 27-FEB-78 27-FEB-78 T25
NGR13  FNT XGPSYS    896 25-FEB-73 2145 000 XGPSYS COPY   27-FEB-78  5-JUL-75 P529>
NGR20  FNT XGPSYS    1.2  3-MAR-74 2312 000   2TVR EDFONT 27-FEB-78  5-JUL-75 P529>
NGR25  FNT XGPSYS    1.5 10-NOV-75 0754 000   SMJC FONT   27-FEB-78 25-NOV-75 P609>
NGR40  FNT XGPSYS    2.1 28-JUN-76 1039 400 XGPTVR EDFONT 27-FEB-78 
NGR40L FNT XGPSYS    3.0  5-JUL-73 1722 000 GEMTVR EDFONT 27-FEB-78  5-JUL-75 P529>
NGB30  FNT XGPSYS    2.1 14-APR-76 0213 000   SLES FONT   27-FEB-78 26-APR-76 P686>
NGB40  FNT XGPSYS    3.2 26-NOV-75 0827 000  MAJAM EDFONT 27-FEB-78  9-DEC-75 P615>
NGI20  FNT XGPSYS    666  7-APR-76 1447 000 XGPTVR FCOPY  24-JAN-78 26-APR-76 P686>
NGI25  FNT XGPSYS    845  7-APR-76 1449 000 XGPTVR FCOPY  20-FEB-78 26-APR-76 P686>
NGR45L FNT XGPSYS    3.1 17-OCT-77 1123 000 MACDCO FSCALE  1-FEB-78 31-OCT-77 P999>
NGR30  FNT XGPSYS    2.4 30-JUN-76 1821 000   SLES EDFONT 27-FEB-78 11-JUL-76 P720>
NGR60  FNT XGPSYS    4.1 17-JAN-78 1229 000 LETDCO FSCALE 17-FEB-78 30-JAN-78 P1055>
NGB50  FNT XGPSYS    4.0 17-JAN-78 1423 000 XGPSYS FSCALE 27-JAN-78 30-JAN-78 P1055>
NGR50  FNT XGPSYS    3.6 18-JAN-78 1314 000 MACDCO EDFONT 17-FEB-78 30-JAN-78 P1055>
NGB13  FNT XGPSYS    765 27-FEB-78 0934 000   1DON EDFONT 27-FEB-78 27-FEB-78 T25
NGB24  FNT XGPSYS    1.2 27-FEB-78 0743 000   1DON FSCALE 27-FEB-78 27-FEB-78 T25
NGR24  FNT XGPSYS    1.2 27-FEB-78 0742 000   1DON FSCALE 27-FEB-78 27-FEB-78 T25

       TOTAL=    74.5

#ng*.fnt[xgp,sys]/date≥1-feb/pro<055/writer=???don/using=f?????
⊂ Well, that's a lot of fonts.  How about all the ng fonts written after
feb 1 (1978), which are not as protected as 055, written by DON, using a program
that started with an F ... ⊃

27-FEB-78  2344
FILNAM EXT   PPN    SIZE  WRITTEN  TIME PRO    WRITER     REFERENCE      DUMPED    

NGB24  FNT XGPSYS    1.2 27-FEB-78 0743 000   1DON FSCALE 27-FEB-78 27-FEB-78 T25
NGR24  FNT XGPSYS    1.2 27-FEB-78 0742 000   1DON FSCALE 27-FEB-78 27-FEB-78 T25

       TOTAL=     4.7

#[*,doc]/reference<jan-77 ⊂ How about all the documentation files that haven't been
			    referenced since 1-jan-77? ⊃
No files found.		  ⊂ Amazing!⊃
#[*,doc]/reference<jan-78 ⊂ How about '78? ⊃

27-FEB-78  2345
FILNAM EXT   PPN    SIZE  WRITTEN  TIME PRO    WRITER     REFERENCE      DUMPED    

CODE   REG  UPDOC    512 15-MAY-75 2015 000 105SGK E      25-DEC-77  5-JUL-75 P533>
HYRS   RFS  UPDOC    3.6  6-OCT-72 1906 000  UPDOC COPY   25-DEC-77  5-JUL-75 P533>
DHACKS WD   UPDOC    512 21-APR-74 2344 000 TALTVR E      25-DEC-77  5-JUL-75 P533>
P2P    RPH  UPDOC    768 11-JUN-72 0040 200  UPDOC        25-DEC-77  5-JUL-75 P533>
FLOW   MJW  UPDOC   1024 30-JUL-73 2240 000   M  H TV     25-DEC-77  5-JUL-75 P533>
FCROX  JAM  UPDOC    768  6-OCT-72 1913 000  UPDOC COPY   25-DEC-77  5-JUL-75 P533>
INDENT DCS  UPDOC    1.6  9-OCT-74 1354 000   SLES E      25-DEC-77  5-JUL-75 P533>
MIX    RES  UPDOC    5.5 14-JAN-77 0045 000   1 ME E      25-DEC-77 29-JAN-77 P841>
RAIDUP TVR  UPDOC    640 12-OCT-72 1610 000 L70DAV COPY   25-DEC-77  5-JUL-75 P533>
PLNR   RPO  UPDOC   13.3 16-OCT-72 0220 000   HRPO COPY   25-DEC-77  5-JUL-75 P533>
SPSUB  OLD  UPDOC    1.5 22-DEC-77 0125 000   1 ME E      25-DEC-77  3-JAN-78 P1039>
FREEFO LES  UPDOC    1.6 20-FEB-75 0336 000   SLES E      25-DEC-77  5-JUL-75 P533>
TVEDIT BPM  UPDOC   16.4 15-APR-76 1302 000 BPMBPM E      25-DEC-77 26-APR-76 P687>
6TO10  RPH  UPDOC    256 12-JUN-75 2125 000 105SGK E      25-DEC-77  5-JUL-75 P533>
RSL    JHS  UPDOC    3.8 19-JUL-74 0124 000 ACTREG E      26-DEC-77  5-JUL-75 P533>
CSET   SRS  UPDOC   1024  3-NOV-74 0040 000   SMJC E      25-DEC-77  5-JUL-75 P533>
Escape I termination ⊂ I typed an "escape I" here to terminate output⊃

       TOTAL=   105.3

#*.fnt[xgp,sys/si≤500/fa ⊂ List all the small fonts, in fast mode ⊃
MISC25.FNT[XGP,SYS]
ZERO30.FNT[XGP,SYS]
MATH40.FNT[XGP,SYS]
SCAN30.FNT[XGP,SYS]
FOOT.FNT[XGP,SYS]
MS30.FNT[XGP,SYS]
HAFL3.FNT[XGP,SYS]
ZERO25.FNT[XGP,SYS]
HAFL4.FNT[XGP,SYS]
HAFL5.FNT[XGP,SYS]
HAFL6.FNT[XGP,SYS]
HAFT3.FNT[XGP,SYS]
HAFT4.FNT[XGP,SYS]
HAFT5.FNT[XGP,SYS]
HAFT6.FNT[XGP,SYS]
CAPS13.FNT[XGP,SYS]

#	⊂ Blank lines are ignored ⊃
#[up,doc/si<200/ty ⊂ How about typing all the short files on [up,doc] ⊃
FSCALE scales fonts.   It asks for  input and output  font file  names
(with the  usual  default  extension/directory), then  tells  you  the
height of the input font and asks for the desired height of the output
font.  The default is no change, in which case FSCALE merely optimises
the format of  the file to  save any  space it can.   (E.g., it  trims
empty columns off the right using character width and raster width  to
get the same effect.)  FSCALE also  asks for a threshhold, which  must
be between 0 and  1.  The default  is .5, and  typically it should  be
between .45 and .55.

FSCALE works  by  mapping each  point  o  ⊂ Typed an escape I here ... ⊃
Continue typing? y  ⊂ Since it's typing, maybe you want to see the other files⊃

00100	THE REAL DESCRIPTION IS IN  BAIL.DOC[DOC,AIL]

PACK condenses text files using a variable-length bit encoding scheme to
create a  binary file  which is  typically 25  to 50%  smaller than  the
original text.  These savings are  only slightly better than half  those
achieved using the  "crunch" and  "spindle" programs, but  on the  other
hand PACK is somewhat  easier to use.  PACKed  files are not  compatible
with SPINDL.  Another  difference between  PACK and CRUNCH  (as of  this
writing) is that  PACK is  capable of compressing  non-text files.  
Continue typing? n  ⊂ On to other things.  Another escape I ⊃
Escape I termination ⊂ No, take another command ⊃

#fmunge.rel[fnt,ref]/ask/del  ⊂ Delete this file, but ask me first ⊃
FMUNGE.REL[FNT,REF]? y ⊂ Sure, go ahead... ⊃
FMUNGE.REL[FNT,REF]

       Total space reclaimed=    11.9

#fmunge.rel[fnt,ref] ⊂ Hey, where did it go? ⊃
No files found.
#↑C  ⊂ Hit call to exit. ⊃
↑C

.
Complaints, compliments, and suggestions → REF.